using System;
using System.Collections.Generic;
using System.Text;

namespace Weazel.Microblaze.Simulator.Engine
{
    public interface IMemorySegment
    {
        uint LowAddress
        {
            get;
        }

        uint HighAddress
        {
            get;
        }

        void BeginTransaction(Transaction transaction);

        void Load(byte[] bytes, uint address);

        /*
        MemoryAccessStatus WriteWord(uint address, uint value);
        MemoryAccessStatus ReadWord(uint address, out uint value);
        MemoryAccessStatus WriteHalfWord(uint address, ushort value);
        MemoryAccessStatus ReadHalfWord(uint address, out ushort value);
        MemoryAccessStatus WriteByte(uint address, byte value);
        MemoryAccessStatus ReadByte(uint address, out byte value);
        */
    }
}
